SPB Git

spb/autoscholar

Public
684 B · 18 lines typescript
1import { retractPaper } from "@autoscholar/publisher";2import { z } from "zod";3import { handler, json, parseBody } from "@/lib/server/api";4import { db } from "@/lib/server/db";5import { requireAdmin } from "@/lib/server/session";67export const runtime = "nodejs";89export const POST = handler(async (req, { params }) => {10  const sess = await requireAdmin(req, { mutation: true });11  const { id } = (await params) as { id: string };12  const body = await parseBody(13    req,14    z.object({ reason: z.string().min(10).max(1000), notice: z.string().min(10).max(4000) }),15  );16  return json(await retractPaper(db(), id, body.reason, body.notice, { id: sess.userId, ip: sess.ip }));17});18
Files · b3c9dfcd4c5c9d5a40a6203e94078096cea1d7d9
Menu

Theme